/**
 *
 */
package jp.seraph.same.model;

import java.util.Iterator;
import java.util.List;

import jp.seraph.jsmf.motion.BlankMotionSession;
import jp.seraph.jsmf.motion.MotionSession;

/**
 *
 */
public class BlankMotionSessionModel extends AbstractViewModel implements MotionSessionModel {
    public BlankMotionSessionModel(int aStep) {
        super("");
        mStep = aStep;
    }

    private int mStep;

    public String getName() {
        return "blank " + mStep;
    }

    public void setName(String aName) {
    }

    /**
     *
     * @see jp.seraph.same.model.MotionSessionModel#addElement(jp.seraph.same.model.MotionElementModel)
     */
    public void add(MotionElementModel aModel) {
        throw new UnsupportedOperationException();
    }

    /**
     *
     * @see jp.seraph.same.model.MotionSessionModel#getElement(java.lang.String)
     */
    public MotionElementModel get(String aName) {
        throw new UnsupportedOperationException();
    }

    /**
     *
     * @see jp.seraph.same.model.MotionSessionModel#getElementCount()
     */
    public int getChildCount() {
        return 0;
    }

    /**
     *
     * @see jp.seraph.same.model.MotionSessionModel#removeElement(java.lang.String)
     */
    public MotionElementModel remove(String aName) {
        throw new UnsupportedOperationException();
    }

    /**
     * @see jp.seraph.same.model.HierarchicalViewModel#remove(jp.seraph.same.model.ViewModel)
     */
    public MotionElementModel remove(MotionElementModel aChild) {
        throw new UnsupportedOperationException();
    }

    /**
     *
     * @see jp.seraph.same.model.MotionSessionModel#toElementList()
     */
    public List<MotionElementModel> toElementList() {
        throw new UnsupportedOperationException();
    }

    /**
     *
     * @see java.lang.Iterable#iterator()
     */
    public Iterator<MotionElementModel> iterator() {
        throw new UnsupportedOperationException();
    }

    /**
     * @see jp.seraph.same.model.MotionSessionModel#toSession()
     */
    public MotionSession toSession() {
        return new BlankMotionSession(mStep);
    }

    /**
     * @see jp.seraph.same.model.HierarchicalViewModel#addAddedListenner(jp.seraph.same.model.ChildAddedListener)
     */
    public void addAddedListenner(ChildAddedListener<MotionElementModel> aListener) {
        throw new UnsupportedOperationException();
    }

    /**
     * @see jp.seraph.same.model.HierarchicalViewModel#addRemovedListener(jp.seraph.same.model.ChildRemovedListener)
     */
    public void addRemovedListener(ChildRemovedListener<MotionElementModel> aListener) {
        throw new UnsupportedOperationException();

    }

    /**
     * @see jp.seraph.same.model.HierarchicalViewModel#contains(jp.seraph.same.model.ViewModel)
     */
    public boolean contains(MotionElementModel aChild) {
        return false;
    }

    /**
     * @see jp.seraph.same.model.HierarchicalViewModel#contains(java.lang.String)
     */
    public boolean contains(String aChildName) {
        return false;
    }

    /**
     * @see jp.seraph.same.model.HierarchicalViewModel#removeAddedListener(jp.seraph.same.model.ChildAddedListener)
     */
    public void removeAddedListener(ChildAddedListener<MotionElementModel> aListener) {
        throw new UnsupportedOperationException();
    }

    /**
     * @see jp.seraph.same.model.HierarchicalViewModel#removeRemovedListener(jp.seraph.same.model.ChildRemovedListener)
     */
    public void removeRemovedListener(ChildRemovedListener<MotionElementModel> aListener) {
        throw new UnsupportedOperationException();
    }
}
